<?php
/**
 * User: Master King
 * Date: 2018/10/30
 */

namespace App\Exceptions;

/**
 * Class ExceptionCode
 * @package App\Exceptions
 */
final class ExceptionCode
{
    const GENERAL = 1000;


    // use
    const USER_NOT_FOUND_EXCEPTION = 10101;
    const USER_CREATE_EXCEPTION = 10102;
    const USER_UPDATE_EXCEPTION = 10103;
    const USER_SERVICE_EXCEPTION = 10104;
    const USER_CONTROLLER_EXCEPTION = 10101;

    ## 业务部分
    // Project
    const PROJECT_CONTROLLER_EXCEPTION = 10201;
    const PROJECT_SERVICE_EXCEPTION = 10202;
    const PROJECT_REPOSITORY_EXCEPTION = 10203;

    // Project Price
    const PROJECT_PRICE_CONTROLLER_EXCEPTION = 10211;
    const PROJECT_PRICE_SERVICE_EXCEPTION = 10212;
    const PROJECT_PRICE_REPOSITORY_EXCEPTION = 10213;


    // Project order
    const PROJECT_ORDER_CONTROLLER_EXCEPTION = 10221;
    const PROJECT_ORDER_SERVICE_EXCEPTION = 10222;
    const PROJECT_ORDER_REPOSITORY_EXCEPTION = 10223 ;

    // Hotel
    const HOTEL_CONTROLLER_EXCEPTION = 10301;
    const HOTEL_SERVICE_EXCEPTION = 10302;
    const HOTEL_REPOSITORY_EXCEPTION = 10303;

    //Hotel Order
    const HOTEL_ORDER_CONTROLLER_EXCEPTION = 10321;
    const HOTEL_ORDER_SERVICE_EXCEPTION = 10322;
    const HOTEL_ORDER_REPOSITORY_EXCEPTION = 10323;

    //Hotel Price
    const HOTEL_PRICE_CONTROLLER_EXCEPTION = 10311;
    const HOTEL_PRICE_SERVICE_EXCEPTION = 10312;
    const HOTEL_PRICE_REPOSITORY_EXCEPTION = 10313;

    // Admin
    const ADMIN_SERVICE_EXCEPTION = 10401;
    const ADMIN_CONTROLLER_EXCEPTION = 10402;
    const ADMIN_REPOSITORY_EXCEPTION = 10403;

    // storage
    const STORAGE_COMMON = 20100;
    const STORAGE_FILE_NOT_FOUND = 20101;
    const STORAGE_FILE_NOT_EXISTS = 20102;
    const STORAGE_FILE_EXISTS = 20103 ;

    // Profit
    const PROFIT_CONTROLLER_EXCEPTION = 10501;
    const PROFIT_SERVICE_EXCEPTION = 10502;
    const PROFIT_REPOSITORY_EXCEPTION = 10503;

    // Money Log
    const MONEY_LOG_CONTROLLER_EXCEPTION = 10601;
    const MONEY_LOG_SERVICE_EXCEPTION = 10602;
    const MONEY_LOG_REPOSITORY_EXCEPTION = 10603;

    // comment
    const COMMENT_CONTROLLER_EXCEPTION = 10701;
    const COMMENT_SERVICE_EXCEPTION = 10702;
    const COMMENT_REPOSITORY_EXCEPTION = 10703;

    // Favorite
    const FAVORITE_CONTROLLER_EXCEPTION = 10801 ;
    const FAVORITE_SERVICE_EXCEPTION = 10802 ;
    const FAVORITE_REPOSITORY_EXCEPTION = 10803 ;

    // withdraw
    const WITHDRAW_CONTROLLER_EXCEPTION = 10901;
    const WITHDRAW_SERVICE_EXCEPTION = 10902;
    const WITHDRAW_REPOSITORY_EXCEPTION = 10903;

    // notification
    const NOTIFICATION_CONTROLLER_EXCEPTION = 11001;
    const NOTIFICATION_SERVICE_EXCEPTION = 11002;
    const NOTIFICATION_REPOSITORY_EXCEPTION = 11003;

    // orders
    const ORDER_CONTROLLER_EXCEPTION=11101;
    const ORDER_SERVICE_EXCEPTION = 11102;
    const ORDER_REPOSITORY_EXCEPTION=11103;

    // recommend
    const RECOMMEND_CONTROLLER_EXCEPTION = 11201;
    const RECOMMEND_SERVICE_EXCEPTION = 11202;
    const RECOMMEND_REPOSITORY_EXCEPTION = 11203;

    //News
    const NEWS_CONTROLLER_EXCEPTION = 11301 ;
    const NEWS_SERVICE_EXCEPTION = 11302 ;
    const NEWS_REPOSITORY_EXCEPTION = 11303 ;

    // Search
    const SEARCH_CONTROLLER_EXCEPTION = 11401;
    const SEARCH_SERVICE_EXCEPTION = 11402;

    //Banner
    const BANNER_CONTROLLER_EXCEPTION = 11501 ;
    const BANNER_SERVICE_EXCEPTION = 11502 ;
    const BANNER_REPOSITORY_EXCEPTION = 11503 ;

    //Hot
    const HOT_CONTROLLER_EXCEPTION = 11601 ;
    const HOT_SERVICE_EXCEPTION = 11602 ;
    const HOT_REPOSITORY_EXCEPTION = 11603 ;

    //Pv
    const PV_CONTROLLER_EXCEPTION = 11701 ;
    const PV_SERVICE_EXCEPTION = 11702 ;
    const PV_REPOSITORY_EXCEPTION = 11703 ;

    //Travel
    const TRAVEL_CONTROLLER_EXCEPTION = 11801 ;
    const TRAVEL_SERVICE_EXCEPTION = 11802 ;
    const TRAVEL_REPOSITORY_EXCEPTION = 11803 ;

    const TRAVEL_PRICE_CONTROLLER_EXCEPTION = 11811 ;
    const TRAVEL_PRICE_SERVICE_EXCEPTION = 11812 ;
    const TRAVEL_PRICE_REPOSITORY_EXCEPTION = 11813 ;

    //TravelOrder
    const TRAVEL_ORDER_CONTROLLER_EXCEPTION = 11821;
    const TRAVEL_ORDER_SERVICE_EXCEPTION = 11822;
    const TRAVEL_ORDER_REPOSITORY_EXCEPTION = 11823;

    //Talent
    const TALENT_CONTROLLER_EXCEPTION = 12101 ;
    const TALENT_SERVICE_EXCEPTION = 12102 ;
    const TALENT_REPOSITORY_EXCEPTION = 12103 ;

    //TalentPrice
    const TALENT_PRICE_CONTROLLER_EXCEPTION = 12111 ;
    const TALENT_PRICE_SERVICE_EXCEPTION = 12112 ;
    const TALENT_PRICE_REPOSITORY_EXCEPTION = 12113 ;

    //TalentOrder
    const TALENT_ORDER_CONTROLLER_EXCEPTION = 12121;
    const TALENT_ORDER_SERVICE_EXCEPTION = 12122;
    const TALENT_ORDER_REPOSITORY_EXCEPTION = 12123;

    //TalentGroup
    const TALENT_GROUP_CONTROLLER_EXCEPTION = 12131;
    const TALENT_GROUP_SERVICE_EXCEPTION = 12132;
    const TALENT_GROUP_REPOSITORY_EXCEPTION = 12133;

    //TalentList
    const TALENT_LIST_CONTROLLER_EXCEPTION = 12141;
    const TALENT_LIST_SERVICE_EXCEPTION = 12142;
    const TALENT_LIST_REPOSITORY_EXCEPTION = 12143;

    //TalentUser
    const TALENT_USER_CONTROLLER_EXCEPTION = 12151;
    const TALENT_USER_SERVICE_EXCEPTION = 12152;
    const TALENT_USER_REPOSITORY_EXCEPTION = 12153;

    // LISTENER
    const LISTENER_SYSTEM_APP_ORDER = 30101;
    const LISTENER_RECOMMEND_APP_SERVICE = 30102;
    const LISTENER_COMMENT_APP_ORDER_SERVICE=30103;
    const LISTENER_COMMENT_APP_SERVICE=30104;
    const LISTENER_APP_SERVICE_RECOMMEND=30105;
    const LISTENER_APP_ORDER_APP_SERVICE=30106;
    const LISTENER_APP_ORDER_MONEY=30107;
    const LISTENER_APP_ORDER_PROFIT=30108;
    const LISTENER_APP_ORDER_SAVING=30109;
    const LISTENER_APP_ORDER_TRAVEL=30110;
    const LISTENER_MONEY_LOG_SERVICE=30201;
    const ARGUMENTS_VALIDATION = 10001;
    const VERIFICATION_INCORRECT = 10002;
    const VERIFICATION_FREQUENCE = 10003;
    const EXTERNAL_EXECUTION_ERROR = 10004;
    const SYNTAX_ERROR           = 10010;
    const VERSION_DEPRECATED     = 10020;

    // Merchat
    const MERCHANT_MONEY_LOG_SERVICE = 11902;
}